package com.lvmama.dao.rhino.topic;

import com.lvmama.pojo.entity.rhino.topic.PitPV;
import com.lvmama.pojo.entity.rhino.topic.PositionAnalysis;
import com.lvmama.pojo.entity.rhino.topic.TopicFunnelDataQuery;
import com.lvmama.pojo.dto.rhino.topic.TopicFunnelVO;

import java.util.List;

public interface PositionAnalysisDao {
    // 专题
    List<PositionAnalysis> getAllList(PositionAnalysis topicVO);

    List<PositionAnalysis> queryThemeByCategory(PositionAnalysis positionVO);

    List<PositionAnalysis> queryTheBarByCategory(PositionAnalysis positionVO);

    List<PositionAnalysis> queryThemeByDate(PositionAnalysis positionVO);

    PositionAnalysis queryThemePageNumByCategory(PositionAnalysis positionVO);

    // 坑位
    List<PositionAnalysis> queryListByPit(PositionAnalysis positionVO);

    /**
     * 根据页面code查询详情
     * @param positionVO
     * @return
     */
    List<PositionAnalysis> queryDetailByCode(PositionAnalysis positionVO);

    List<PositionAnalysis> queryListByCategory(PositionAnalysis positionVO);

    List<PositionAnalysis> queryPitBarByCategory(PositionAnalysis positionVO);


    List<PositionAnalysis> queryListByDate(PositionAnalysis positionVO);

    PositionAnalysis queryPageNumByCategory(PositionAnalysis positionVO);

    /**
     * 按类目获取某专题饼状图
     * @param positionVO
     * @return
     */
    List<PitPV> getPitPVByCategory(PositionAnalysis positionVO);
    //表格内可关联专题订单
    List<PitPV> getAllPitPV(PositionAnalysis positionVO);

    List<PitPV> getTopicPVByCode(PositionAnalysis positionVO);
    List<PitPV> getTopicAllPVByCode(PositionAnalysis positionVO);

    /**
     * 查询专题漏斗
     * @param query
     * @return
     */
    TopicFunnelVO queryTopicFunnel(TopicFunnelDataQuery query);
}
